package com.thwj.common.core.entity;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.Id;
import javax.persistence.GeneratedValue;
import java.io.Serializable;
import java.util.Date;
import java.math.BigDecimal;

/**
 * @Description  
 * @Author  linmengmeng
 * @Date 2025-01-19 15:55:44 
 */

@Entity
@Table ( name ="biz_activity" , schema = "活动表")
public class BizActivity  implements Serializable {

	private static final long serialVersionUID =  732815564771104177L;

	/**
	 * 主键
	 */
	@Id
   	@Column(name = "id" )
	private Long id;

	/**
	 * 活动类型（1：常规活动 2：派对）
	 */
   	@Column(name = "type" )
	private Long type;

	/**
	 * 活动分类
	 */
   	@Column(name = "category_id" )
	private Long categoryId;

	/**
	 * 用户id
	 */
   	@Column(name = "user_id" )
	private Long userId;

	/**
	 * 用户认证种类（ 1：个人 2：俱乐部 ）
	 */
   	@Column(name = "authentication_type" )
	private Long authenticationType;

	/**
	 * 关联商家id
	 */
   	@Column(name = "merchant_id" )
	private Long merchantId;

	/**
	 * 关联产品id
	 */
   	@Column(name = "product_id" )
	private Long productId;

	/**
	 * 是否是官方用户
	 */
   	@Column(name = "office_user" )
	private Integer officeUser;

	/**
	 * 是否公开展示
	 */
   	@Column(name = "show_public" )
	private Integer showPublic;

	/**
	 * 行政区域-省
	 */
   	@Column(name = "code_prov" )
	private Long codeProv;

	/**
	 * 行政区域-省
	 */
   	@Column(name = "name_prov" )
	private String nameProv;

	/**
	 * 行政区域-市
	 */
   	@Column(name = "code_city" )
	private Long codeCity;

	/**
	 * 行政区域-市
	 */
   	@Column(name = "name_city" )
	private String nameCity;

	/**
	 * 行政区域-区
	 */
   	@Column(name = "code_district" )
	private Long codeDistrict;

	/**
	 * 行政区域-区
	 */
   	@Column(name = "name_district" )
	private String nameDistrict;

	/**
	 * 详细地址
	 */
   	@Column(name = "address" )
	private String address;

	/**
	 * 地址名称
	 */
   	@Column(name = "location_name" )
	private String locationName;

	/**
	 * 经纬度
	 */
   	@Column(name = "location" )
	private String location;

	/**
	 * 经度
	 */
   	@Column(name = "longitude" )
	private BigDecimal longitude;

	/**
	 * 维度
	 */
   	@Column(name = "latitude" )
	private BigDecimal latitude;

	/**
	 * 活动标题
	 */
   	@Column(name = "title" )
	private String title;

	/**
	 * 封面图
	 */
   	@Column(name = "cover_pic" )
	private String coverPic;

	/**
	 * 图片列表（多个逗号隔开）
	 */
   	@Column(name = "pic_list" )
	private String picList;

	/**
	 * 活动形式（1：不限 2：限女生 3：限男生）
	 */
   	@Column(name = "form_type" )
	private Long formType;

	/**
	 * 报名人数
	 */
   	@Column(name = "max_sign_up_count" )
	private Long maxSignUpCount;

	/**
	 * 最多女生人数
	 */
   	@Column(name = "max_woman_count" )
	private Long maxWomanCount;

	/**
	 * 最多男生人数
	 */
   	@Column(name = "max_man_count" )
	private Long maxManCount;

	/**
	 * 开始时间
	 */
   	@Column(name = "start_date" )
	private Date startDate;

	/**
	 * 结束时间
	 */
   	@Column(name = "end_date" )
	private Date endDate;

	/**
	 * 无责取消种类（1：活动开始前 2：活动2小时前 3：活动4小时前 4: 活动一天前 5: 不可取取消）
	 */
   	@Column(name = "cancel_free_type" )
	private Long cancelFreeType;

	/**
	 * 无责取消时间
	 */
   	@Column(name = "cancel_free_date" )
	private Date cancelFreeDate;

	/**
	 * 介绍文案
	 */
   	@Column(name = "describe_content" )
	private String describeContent;

	/**
	 * 介绍图片
	 */
   	@Column(name = "describe_pic" )
	private String describePic;

	/**
	 * 收费类型（ 1：AA收费 2：免费）
	 */
   	@Column(name = "charge_type" )
	private Long chargeType;

	/**
	 * 支付渠道（1：线上支付 2：线下支付）
	 */
   	@Column(name = "pay_way" )
	private Long payWay;

	/**
	 * 价格（元/单人）
	 */
   	@Column(name = "price" )
	private BigDecimal price;

	/**
	 * 优惠类型（1：女生优惠  ..）
	 */
   	@Column(name = "discount_type" )
	private Long discountType;

	/**
	 * 优惠金额
	 */
   	@Column(name = "discounted_price" )
	private BigDecimal discountedPrice;

	/**
	 * 联系人
	 */
   	@Column(name = "contact_name" )
	private String contactName;

	/**
	 * 联系人微信
	 */
   	@Column(name = "contact_wechat" )
	private String contactWechat;

	/**
	 * 联系电话
	 */
   	@Column(name = "contact_phone" )
	private String contactPhone;

	/**
	 * 已报名的人数
	 */
   	@Column(name = "sign_up_count" )
	private Long signUpCount;

	/**
	 * 允许挂人人数
	 */
   	@Column(name = "together_max_count" )
	private Long togetherMaxCount;

	/**
	 * 活动状态（1：报名中 2：报名已截止 3：进行中 4：已结束 5：已取消）
	 */
   	@Column(name = "status" )
	private Long status;

	/**
	 * 报名截止时间
	 */
   	@Column(name = "sign_up_end_date" )
	private Date signUpEndDate;

	/**
	 * 取消原因
	 */
   	@Column(name = "cancel_reason" )
	private String cancelReason;

	/**
	 * 取消时间
	 */
   	@Column(name = "cancel_date" )
	private Date cancelDate;

	/**
	 * 创建时间
	 */
   	@Column(name = "create_date" )
	private Date createDate;

	/**
	 * 乐观锁
	 */
   	@Column(name = "version_no" )
	private Long versionNo;

	/**
	 * 小程序二维码
	 */
   	@Column(name = "er_code_url" )
	private String erCodeUrl;

	public Long getId() {
		return this.id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public Long getType() {
		return this.type;
	}

	public void setType(Long type) {
		this.type = type;
	}

	public Long getCategoryId() {
		return this.categoryId;
	}

	public void setCategoryId(Long categoryId) {
		this.categoryId = categoryId;
	}

	public Long getUserId() {
		return this.userId;
	}

	public void setUserId(Long userId) {
		this.userId = userId;
	}

	public Long getAuthenticationType() {
		return this.authenticationType;
	}

	public void setAuthenticationType(Long authenticationType) {
		this.authenticationType = authenticationType;
	}

	public Long getMerchantId() {
		return this.merchantId;
	}

	public void setMerchantId(Long merchantId) {
		this.merchantId = merchantId;
	}

	public Long getProductId() {
		return this.productId;
	}

	public void setProductId(Long productId) {
		this.productId = productId;
	}

	public Integer getOfficeUser() {
		return this.officeUser;
	}

	public void setOfficeUser(Integer officeUser) {
		this.officeUser = officeUser;
	}

	public Integer getShowPublic() {
		return this.showPublic;
	}

	public void setShowPublic(Integer showPublic) {
		this.showPublic = showPublic;
	}

	public Long getCodeProv() {
		return this.codeProv;
	}

	public void setCodeProv(Long codeProv) {
		this.codeProv = codeProv;
	}

	public String getNameProv() {
		return this.nameProv;
	}

	public void setNameProv(String nameProv) {
		this.nameProv = nameProv;
	}

	public Long getCodeCity() {
		return this.codeCity;
	}

	public void setCodeCity(Long codeCity) {
		this.codeCity = codeCity;
	}

	public String getNameCity() {
		return this.nameCity;
	}

	public void setNameCity(String nameCity) {
		this.nameCity = nameCity;
	}

	public Long getCodeDistrict() {
		return this.codeDistrict;
	}

	public void setCodeDistrict(Long codeDistrict) {
		this.codeDistrict = codeDistrict;
	}

	public String getNameDistrict() {
		return this.nameDistrict;
	}

	public void setNameDistrict(String nameDistrict) {
		this.nameDistrict = nameDistrict;
	}

	public String getAddress() {
		return this.address;
	}

	public void setAddress(String address) {
		this.address = address;
	}

	public String getLocationName() {
		return this.locationName;
	}

	public void setLocationName(String locationName) {
		this.locationName = locationName;
	}

	public String getLocation() {
		return this.location;
	}

	public void setLocation(String location) {
		this.location = location;
	}

	public BigDecimal getLongitude() {
		return this.longitude;
	}

	public void setLongitude(BigDecimal longitude) {
		this.longitude = longitude;
	}

	public BigDecimal getLatitude() {
		return this.latitude;
	}

	public void setLatitude(BigDecimal latitude) {
		this.latitude = latitude;
	}

	public String getTitle() {
		return this.title;
	}

	public void setTitle(String title) {
		this.title = title;
	}

	public String getCoverPic() {
		return this.coverPic;
	}

	public void setCoverPic(String coverPic) {
		this.coverPic = coverPic;
	}

	public String getPicList() {
		return this.picList;
	}

	public void setPicList(String picList) {
		this.picList = picList;
	}

	public Long getFormType() {
		return this.formType;
	}

	public void setFormType(Long formType) {
		this.formType = formType;
	}

	public Long getMaxSignUpCount() {
		return this.maxSignUpCount;
	}

	public void setMaxSignUpCount(Long maxSignUpCount) {
		this.maxSignUpCount = maxSignUpCount;
	}

	public Long getMaxWomanCount() {
		return this.maxWomanCount;
	}

	public void setMaxWomanCount(Long maxWomanCount) {
		this.maxWomanCount = maxWomanCount;
	}

	public Long getMaxManCount() {
		return this.maxManCount;
	}

	public void setMaxManCount(Long maxManCount) {
		this.maxManCount = maxManCount;
	}

	public Date getStartDate() {
		return this.startDate;
	}

	public void setStartDate(Date startDate) {
		this.startDate = startDate;
	}

	public Date getEndDate() {
		return this.endDate;
	}

	public void setEndDate(Date endDate) {
		this.endDate = endDate;
	}

	public Long getCancelFreeType() {
		return this.cancelFreeType;
	}

	public void setCancelFreeType(Long cancelFreeType) {
		this.cancelFreeType = cancelFreeType;
	}

	public Date getCancelFreeDate() {
		return this.cancelFreeDate;
	}

	public void setCancelFreeDate(Date cancelFreeDate) {
		this.cancelFreeDate = cancelFreeDate;
	}

	public String getDescribeContent() {
		return this.describeContent;
	}

	public void setDescribeContent(String describeContent) {
		this.describeContent = describeContent;
	}

	public String getDescribePic() {
		return this.describePic;
	}

	public void setDescribePic(String describePic) {
		this.describePic = describePic;
	}

	public Long getChargeType() {
		return this.chargeType;
	}

	public void setChargeType(Long chargeType) {
		this.chargeType = chargeType;
	}

	public Long getPayWay() {
		return this.payWay;
	}

	public void setPayWay(Long payWay) {
		this.payWay = payWay;
	}

	public BigDecimal getPrice() {
		return this.price;
	}

	public void setPrice(BigDecimal price) {
		this.price = price;
	}

	public Long getDiscountType() {
		return this.discountType;
	}

	public void setDiscountType(Long discountType) {
		this.discountType = discountType;
	}

	public BigDecimal getDiscountedPrice() {
		return this.discountedPrice;
	}

	public void setDiscountedPrice(BigDecimal discountedPrice) {
		this.discountedPrice = discountedPrice;
	}

	public String getContactName() {
		return this.contactName;
	}

	public void setContactName(String contactName) {
		this.contactName = contactName;
	}

	public String getContactWechat() {
		return this.contactWechat;
	}

	public void setContactWechat(String contactWechat) {
		this.contactWechat = contactWechat;
	}

	public String getContactPhone() {
		return this.contactPhone;
	}

	public void setContactPhone(String contactPhone) {
		this.contactPhone = contactPhone;
	}

	public Long getSignUpCount() {
		return this.signUpCount;
	}

	public void setSignUpCount(Long signUpCount) {
		this.signUpCount = signUpCount;
	}

	public Long getTogetherMaxCount() {
		return this.togetherMaxCount;
	}

	public void setTogetherMaxCount(Long togetherMaxCount) {
		this.togetherMaxCount = togetherMaxCount;
	}

	public Long getStatus() {
		return this.status;
	}

	public void setStatus(Long status) {
		this.status = status;
	}

	public Date getSignUpEndDate() {
		return this.signUpEndDate;
	}

	public void setSignUpEndDate(Date signUpEndDate) {
		this.signUpEndDate = signUpEndDate;
	}

	public String getCancelReason() {
		return this.cancelReason;
	}

	public void setCancelReason(String cancelReason) {
		this.cancelReason = cancelReason;
	}

	public Date getCancelDate() {
		return this.cancelDate;
	}

	public void setCancelDate(Date cancelDate) {
		this.cancelDate = cancelDate;
	}

	public Date getCreateDate() {
		return this.createDate;
	}

	public void setCreateDate(Date createDate) {
		this.createDate = createDate;
	}

	public Long getVersionNo() {
		return this.versionNo;
	}

	public void setVersionNo(Long versionNo) {
		this.versionNo = versionNo;
	}

	public String getErCodeUrl() {
		return this.erCodeUrl;
	}

	public void setErCodeUrl(String erCodeUrl) {
		this.erCodeUrl = erCodeUrl;
	}

	@Override
	public String toString() {
		return "{" +
					"id='" + id + '\'' +
					"type='" + type + '\'' +
					"categoryId='" + categoryId + '\'' +
					"userId='" + userId + '\'' +
					"authenticationType='" + authenticationType + '\'' +
					"merchantId='" + merchantId + '\'' +
					"productId='" + productId + '\'' +
					"officeUser='" + officeUser + '\'' +
					"showPublic='" + showPublic + '\'' +
					"codeProv='" + codeProv + '\'' +
					"nameProv='" + nameProv + '\'' +
					"codeCity='" + codeCity + '\'' +
					"nameCity='" + nameCity + '\'' +
					"codeDistrict='" + codeDistrict + '\'' +
					"nameDistrict='" + nameDistrict + '\'' +
					"address='" + address + '\'' +
					"locationName='" + locationName + '\'' +
					"location='" + location + '\'' +
					"longitude='" + longitude + '\'' +
					"latitude='" + latitude + '\'' +
					"title='" + title + '\'' +
					"coverPic='" + coverPic + '\'' +
					"picList='" + picList + '\'' +
					"formType='" + formType + '\'' +
					"maxSignUpCount='" + maxSignUpCount + '\'' +
					"maxWomanCount='" + maxWomanCount + '\'' +
					"maxManCount='" + maxManCount + '\'' +
					"startDate='" + startDate + '\'' +
					"endDate='" + endDate + '\'' +
					"cancelFreeType='" + cancelFreeType + '\'' +
					"cancelFreeDate='" + cancelFreeDate + '\'' +
					"describeContent='" + describeContent + '\'' +
					"describePic='" + describePic + '\'' +
					"chargeType='" + chargeType + '\'' +
					"payWay='" + payWay + '\'' +
					"price='" + price + '\'' +
					"discountType='" + discountType + '\'' +
					"discountedPrice='" + discountedPrice + '\'' +
					"contactName='" + contactName + '\'' +
					"contactWechat='" + contactWechat + '\'' +
					"contactPhone='" + contactPhone + '\'' +
					"signUpCount='" + signUpCount + '\'' +
					"togetherMaxCount='" + togetherMaxCount + '\'' +
					"status='" + status + '\'' +
					"signUpEndDate='" + signUpEndDate + '\'' +
					"cancelReason='" + cancelReason + '\'' +
					"cancelDate='" + cancelDate + '\'' +
					"createDate='" + createDate + '\'' +
					"versionNo='" + versionNo + '\'' +
					"erCodeUrl='" + erCodeUrl + '\'' +
				'}';
	}

}
